Fix historical event subscriptions when made as first provider request #3401
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
PR targets #3190 (because it fixes a Websocket bug)
Resolves a race condition that arises when the first request made by a Websocket provider is a subscription to an event which includes a request for historical logs.
Web3 was deleting the
fromBlock
parameter made for the historical logs request while the Websocket connection established itself, resulting in the "missing logs" bug reported in #3389.Commit 64c1302 is a test that can be seen failing in Travis here
Commit 7f3f42b fixes it by copying the params.
The copied params object looks like....
Fixes #3389
Type of change
Checklist:
npm run dtslint
with success and extended the tests and types if necessary.npm run test:unit
with success.npm run test:cov
and my test cases do cover all lines and branches of the added code.npm run build-all
and tested the resulting file/'s fromdist
folder in a browser.CHANGELOG.md
file in the root folder.